Bridling Concurrency to Boost Performance in Distributed STMs
نویسندگان
چکیده
Over the last years, a wide body of literature has been developed in the area of Software Transactional Memory (STM) systems and, recently, the first STM-based applications have started to be deployed in production systems [1]. One of the key lessons learnt from the development and deployment of these applications is that existing STM platforms suffer from a significant limitation: the lack of efficient replication schemes capable of fulfilling the scalability and reliability levels of real-world applications [1]. Replication of STM systems represents a very recent research field, and, at current date, only a few solutions have been proposed and evaluated [2]. On the other hand, since STMs and databases share the common notion of atomic transaction, the extensive research developed in the area of replicated databases represents a natural source of inspiration for the design of replication schemes for STMs. Among the plethora of database replication schemes, recent approaches are based on Atomic Broadcast (AB) [3] and a distributed certification procedure [4]. These schemes ensure the consistency of replicas only at commit-time via a distributed certification phase that uses a single AB to enforce agreement on a common transaction serialization order. This avoids distributed deadlocks, and provides nonblocking guarantees in the presence of (a minority of) replica failures. Unfortunately, the overhead of previously published AB based certification schemes can be particularly detrimental in STM environments [5]. Further, distributed certification schemes are based on an inherently optimistic approach: transactions are only validated at commit time and no bound is provided on the number of times that a transaction will have to be reexecuted due to the occurrence of a remote conflict. This can lead to undesirably high abort rates in high conflict scenarios. Also, when considering heterogeneous workloads containing mixes of short and long-running transactions (as it is actually the case for several well-known TM benchmarks [6]), the latter ones may be constantly aborted due to the occurrence of (remote) conflicts with a stream of shortlived transactions.
منابع مشابه
Optimization of majority protocol for controlling transactions concurrency in distributed databases by multi-agent systems
In this paper, we propose a new concurrency control algorithm based on multi-agent systems which is an extension of majority protocol. Then, we suggest a clustering approach to get better results in reliability, decreasing message passing and algorithm’s runtime. Here, we consider n different transactions working on non-conflict data items. Considering execution efficiency of some different...
متن کاملPerformance Comparison of Software Transactional Memory Implementations
KARIATH, RIYA RAJU. Performance Comparison of Software Transactional Memory Implementations. (Under the direction of Dr. Edward F Gehringer.) Software Transactional Memory (STM), an optimistic concurrency control mechanism for controlling accesses to shared memory, is a promising alternative to lockbased mutual exclusion strategies. A transaction in this context is each piece of code that execu...
متن کاملCost of Concurrency in Hybrid Transactional Memory
State-of-the-art software transactional memory (STM) implementations achieve good performance by carefully avoiding the overhead of incremental validation (i.e., re-reading previously read data items to avoid inconsistency) while still providing progressiveness (allowing transactional aborts only due to data conflicts). Hardware transactional memory (HTM) implementations promise even better per...
متن کاملOn the cost of concurrency in transactional memory
The promise of software transactional memory (STM) is to combine an easy-to-use programming interface with an efficient utilization of the concurrent-computing abilities provided by modern machines. But does this combination come with an inherent cost? We evaluate the cost of concurrency by measuring the amount of expensive synchronization that must be employed in an STM implementation that ens...
متن کاملOptimizing Software Transactional Memory Replication via Speculation
Software Transactional Memories (STMs) are emerging as a potentially disruptive programming paradigm. Due to scalability and fault-tolerance requirements, Distributed STMs (DSTMs) are receiving more attention. Database management systems and STMs share the same key abstraction: atomic transactions. However, database and memory transactions have very distinct characteristics. Database replicatio...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010